#pragma once

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <assert.h>
#include <stdlib.h >
#include <stdbool.h>
#include <time.h>


typedef int HPDataType;

typedef struct Heap
{
    HPDataType* arr;
    int size;
    int capacity;
} HP;

void HPInit(HP* php);

void AdjustUp(HPDataType* arr, int child);

void HPPush(HP* php, HPDataType x);

void AdjustUp(HPDataType* arr, int child);

void HPPrint(HP* php);

void HPDestroy(HP* php);

bool HPEmpty(HP* php);

void HPPop(HP* php);

HPDataType HPTop(HP* php);

void AdjustDown(HPDataType* arr, int parent, int n);

void HeapSort(int* arr, int n);

void CreatNDate();

void Topk();



